package org.aerie.forest.core.brick.exception.custom.runtime;

import java.util.Optional;

/**
 * @description forest的自定义运行时异常
 *
 * @author quark
 * @organization aerie
 * @date 2020年2月16日 上午10:44:32
 * @version 1.2.0
 */
public abstract class ForestRuntimeException extends RuntimeException {

	/**
	 * @description 序列化编号
	 * 
	 * @author quark
	 * @date 2020年2月16日 上午11:04:05
	 * @version 1.2.0
	 */
	private static final long serialVersionUID = 1L;

	/**
	 * 
	 * Construction
	 * 
	 * @param message 异常信息
	 *
	 * @date 2020年2月10日 下午8:14:52
	 * @version 1.2.0
	 */
	public ForestRuntimeException(String message) {
		super(Optional.ofNullable(message).filter(p1 -> !p1.isEmpty()).orElse("Warning-->丢失异常信息"));
	}

	/**
	 * Construction
	 * 
	 * @param message   异常信息
	 * @param exception 内包装异常
	 *
	 * @author quark
	 * @date 2020年5月14日 下午5:08:17
	 * @version 1.2.0
	 */
	public ForestRuntimeException(String message, Exception exception) {
		super(Optional.ofNullable(message).filter(p1 -> !p1.isEmpty()).orElse("Warning-->丢失异常信息"), exception);
	}
}
